package ar.edu.utn.frba.disenio.aterrizar;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
import com.lanchita.excepciones.*;

public class Usuario {
	
	private String nombre;
	private String apellido;
	private String dni;
	private double compras;
	private List<String[]> busquedas = new ArrayList<String[]>();

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getApellido() {
		return apellido;
	}

	public void setApellido(String apellido) {
		this.apellido = apellido;
	}

	public String getDni() {
		return dni;
	}

	public void setDni(String dni) {
		this.dni = dni;
	}
	
	public Usuario(){
		super();
	}
	
	public Usuario(String nombre, String apellido, String dni){
		this.setNombre(nombre);
		this.setApellido(apellido);
		this.setDni(dni);
		this.compras = 0;
	}
	
	Busqueda unaBusqueda = new Busqueda();
	
	public void buscar(String origen, String destino, String fechaSalida){
		System.out.println("Asientos Disponilbes: ");
		List<String[]> answer = Arrays.asList (unaBusqueda.buscar(origen, destino, fechaSalida));
		System.out.println(answer.toString());
		String[] element = {origen,destino,fechaSalida}; 
		busquedas.add(element);
	}
	
	public void buscar(String origen, String destino, String fechaSalida, String parametroExtra){
		System.out.println("Asientos Disponilbes: "+ unaBusqueda.buscar(origen, destino, fechaSalida,parametroExtra ));
		String[] element = {origen,destino,fechaSalida,parametroExtra }; 
		busquedas.add(element);
	}
	
	public void buscar(String origen, String destino, String fechaSalida, String claseDeAsiento, String ubicacionAsiento ){
		System.out.println("Asientos Disponilbes: "+ unaBusqueda.buscar(origen, destino, fechaSalida, claseDeAsiento,ubicacionAsiento));
		String[] element = {origen,destino,fechaSalida,claseDeAsiento, ubicacionAsiento}; 
		busquedas.add(element);
	}
	public void comprar(){
		System.out.println("Ingrese codigo de Asiento que desea comprar: ");
		try{
		Scanner leer = new Scanner (System.in);
		String unAsiento = leer.nextLine();
		double precio = unaBusqueda.comprar(unAsiento);
		this.compras = this.compras + precio;
		}
		catch(CodigoErroneoException e){
			throw new AsientoErroneoException();
		}
		catch(EstadoErroneoException e){
			throw new AsientoNoDisponibleException();
		}
		System.out.println("Su compra se realizo con exito!");
	}


}
